package metier;

import junit.framework.TestCase;

public class tstCollaborateur extends TestCase {

	/**
	 * Test de la méthode getMatricule()
	 */
	public void testGetMatricule() {

		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");

		assertEquals(12345, collaborateur.getMatricule());
	}

	/**
	 * Test de la méthode getNom()
	 */
	public void testGetNom() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");

		assertEquals("Nom", collaborateur.getNom());
	}

	/**
	 * Test de la méthode getPrenom()
	 */
	public void testGetPreNom() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");

		assertEquals("Prénom", collaborateur.getPrenom());
	}

	/**
	 * Test de la méthode setNom(String nom)
	 */
	public void testSetNom() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");
		collaborateur.setNom("autreNom");

		assertEquals("autreNom", collaborateur.getNom());
	}

	/**
	 * Test de la méthode setPrenom(String prenom)
	 */
	public void testSetPrenom() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");
		collaborateur.setPrenom("autrePrénom");

		assertEquals("autrePrénom", collaborateur.getPrenom());
	}

	/**
	 * Test de la méthode Equals avec deux éléments égaux
	 */
	public void testEqualsOk() {
		Collaborateur collaborateurA = new Collaborateur(12345, "Nom", "Prénom");
		Collaborateur collaborateurB = new Collaborateur(12345, "Nom", "Prénom");

		assertEquals(true, collaborateurA.Equals(collaborateurB));
	}

	/**
	 * Test de la méthode Equals avec des matricules différents
	 */
	public void testEqualsMatriculeKO() {

		Collaborateur collaborateurA = new Collaborateur(12345, "Nom", "Prénom");
		Collaborateur collaborateurB = new Collaborateur(54321, "Nom", "Prénom");

		assertEquals(false, collaborateurA.Equals(collaborateurB));
	}

	/**
	 * Test de la méthode Equals avec des noms différents
	 */
	public void testEqualsNomKO() {

		Collaborateur collaborateurA = new Collaborateur(12345, "Nom1",
				"Prénom");
		Collaborateur collaborateurB = new Collaborateur(12345, "Nom2",
				"Prénom");

		assertEquals(false, collaborateurA.Equals(collaborateurB));
	}

	/**
	 * Test de la méthode Equals avec des prénoms différents
	 */
	public void testEqualsPrenomKO() {

		Collaborateur collaborateurA = new Collaborateur(12345, "Nom",
				"Prénom1");
		Collaborateur collaborateurB = new Collaborateur(12345, "Nom",
				"Prénom2");

		assertEquals(false, collaborateurA.Equals(collaborateurB));
	}

	/**
	 * Test de la méthode toString
	 */
	public void testToString() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");

		assertEquals("12345 Nom Prénom", collaborateur.toString());
	}

	/**
	 * Test de la méthode toStringDescriptif
	 */
	public void testToStringDescriptif() {
		Collaborateur collaborateur = new Collaborateur(12345, "Nom", "Prénom");
		System.out.println(collaborateur.toStringDescriptif());
		assertEquals("matricule :12345\nnom : Nom\nprénom : Prénom",
				collaborateur.toStringDescriptif());
	}
}
